Many computer users find portable or mobile computers, such as laptop, notebook, and palmtop computers, to be more convenient than traditional desktop computers. In particular, such portable computers can be carried easily to enable them to be used substantially wherever the user desires. However, the limited size of such portable computers creates disadvantages compared to traditional desktop models. For example, portable computers typically employ relatively small keyboards and display screens. In addition, most portable computers do not have many of the accessories associated with desktop computers, such as CD ROM drives, network connections, and fax/modems.
To compensate for some of the drawbacks of portable computers, many portable computers now come equipped with docking units. A docking unit allows a portable computer to be connected to computer accessories that are too large or too inconvenient to be permanently coupled to the portable computer. For example, a full-size keyboard and display monitor typically are coupled to such docking units to enable users to interface more conveniently with the portable computer. In addition, such docking units typically may be coupled to a network such as the Internet or a local area network (LAN).
A prior art computing system 10 with a portable computing unit 12 coupled to a docking unit 14 is shown in FIG. 1. As is typical, the portable computing unit 12 includes a processor 16 coupled by a processor bus 18 to a dynamic random access memory (DRAM) unit 20 and a static random access memory (SRAM) cache 22. A bridge/control unit 24, referred to as a North bridge, couples a Peripheral Component Interconnect (PCI) bus 26 to the processor bus 18. Coupled to the PCI bus 26 are a video controller/display screen 28 and a South bridge 30 that couples an internal industry standard architecture (ISA) bus 32 to the PCI bus 26. Coupled to the internal ISA bus 32 are a hard drive 34 and an input device 36, such as a keyboard, mouse, and/or electronic pen. The docking unit 14 includes an external ISA bus 38 that is releasably coupled to the internal ISA bus 32 of the portable computing unit 12. Coupled to the external ISA bus 38 are a LAN connection 40 and a fax/modem 42.
When the processor 16 issues a transaction request for one of the component devices 34, 36 coupled to the internal ISA bus 32 or one of the component devices 40, 42 coupled to the external ISA bus 38, the transaction request is transmitted via the processor bus 18 and the North bridge 24 to the PCI bus 26. The South bridge 30 can claim the transaction request according to a method known as "subtractive decoding" and transmit the claimed transaction request on the internal ISA bus 32 to the hard drive 34, input device 36, or external ISA bus 38. In subtractive decoding, the South bridge 30 waits a predetermined period (e.g., two clock cycles) after the transaction request is placed on the PCI bus 26 to allow any other PCI devices, such as the video controller/display screen 28, to claim the transaction request. When the transaction request is not claimed by any other PCI device within the predetermined period, the South bridge 30 asserts a device select signal DEVSEL# on the PCI bus 26 and passes the transaction request onto the internal ISA bus 32. The component device requested by the transaction request can claim the transaction request by sending appropriate control signals to the South bridge.
The subtractive decode method of the prior art works fine when the component requested by the transaction request is coupled to the internal ISA bus 32. However, in the computer system 10 shown in FIG. 1, the portable computing unit 12 can be detached from the docking unit 14 to allow the portable computing unit 12 to be transported as desired. In the prior art computing system 10, the processor 16 does not know immediately that the portable computing unit 12 has been detached from the docking unit 14. As a result, the processor 16 may continue to issue transaction requests for the LAN connection 40 or the fax/modem 42 even though the portable computing unit 12 is no longer attached to the docking unit 14.
When the processor 16 issues a transaction request for one of the components 40, 42 coupled to the docking unit 14, the transaction request is placed on the PCI bus 26 by the North bridge 24 as discussed above. The South bridge 30 will perform a subtractive decoding to claim the transaction request and will forward the transaction request on the internal ISA bus 32. Given that the portable computing unit 12 is not coupled to the docking unit 14, the transaction-request languishes on the internal ISA bus 32 because the requested component is not available. After a predetermined period, the South bridge 30 will recognize that it has not received a response from the requested component and will deassert the DEVSEL# control signal to indicate to the North bridge that the requested component is not available.
Waiting for an unavailable component to claim the transaction request from the internal ISA bus 32 slows processing speed because it takes a relatively long time (as long as 2.5 microseconds for a 32 bit access) for the South bridge 30 to time out while waiting for one of the components to claim the transaction request. To prevent any transaction request conflicts, the processor 16 is generally held idle for the entire time that the South bridge 30 is waiting for one of the components to claim the transaction request from the internal ISA bus 32. Although 2.5 microseconds may seem like a short time period, in terms of modem processor technology 2.5 microseconds is quite long. A state of the art microprocessor might well perform over several hundred instructions in that brief time period. Accordingly, such requests for access to components that are no longer coupled to the portable computing unit 12 cause unproductive and time consuming disruptions in the prior art computer system 10.